﻿using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;

//[assembly: ExtensionApplication(typeof(AutoCAD.Net35.InitClass))]
// 还会在程序集中查找所有的CommandClass属性
// 只搜索与CommandClass属性有关联的类，否则会搜索程序集中所有的类。
// [assembly: CommandClass(typeof(AutoCAD.Net35.OptimizeClass))]

namespace InitAndOpt
{
    // 则AutoCAD会在程序集中查找实现了IExtensionApplication接口的类
    // 为程序的入口点
    public class InitClass : IExtensionApplication
    {
        public void Initialize()
        {
            Editor ed= Application.DocumentManager.MdiActiveDocument.Editor;
            // 在AutoCAD命令行上显示一些信息，它们会在程序载入时被显示
            ed.WriteMessage("AutoCAD.Net48 程序开始初始化。");
        }

        public void Terminate()
        {
            // 在Visual Studio 2010的输出窗口上显示程序结束的信息
            System.Diagnostics.Debug.WriteLine( "程序结束，你可以在里做一些程序的清理工作，如关闭AutoCAD文档");
        }

        [CommandMethod("InitCommand")]
        public void InitCommand()
        {
            Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
            ed.WriteMessage("Test");
        }
    }

}
